// $Id$


/**
 * Reversi Main Window header file.
 *
 * @file ReversiMainWindow.h
 * @author Wim Leers
 */


#ifndef REVERSIMAINWINDOW_H
#define REVERSIMAINWINDOW_H

#include <QMainWindow>
#include <QToolButton>
#include <QLineEdit>
#include "ReversiButton.h"

class ReversiMainWindow : public QMainWindow {
	Q_OBJECT

	public:
		static const unsigned GRID_SIZE = 8;

		ReversiMainWindow(QWidget * parent = NULL);
		virtual ~ReversiMainWindow(void) {}
		ReversiButton * GetButton(int x, int y) { return &bGrid[x][y]; }

	public slots:
		void ShowHighscores(void);
		void SpawnNewGameDialog(void);
	
	private:
		ReversiButton ** bGrid;
		QToolButton * bUndo, * bRedo;		
		QLineEdit * m_blackScore, * m_whiteScore;

		void GenerateGrid(void);
		void SetupUI(void);
		void DisableGameButtons(void);
};

#endif
